package cn.com.huzo.service.tech;

import cn.com.huzo.model.entities.tech.PieceYardageHeaderEntity;
import huzofw.service.GenericManager;
import java.util.List;
import java.util.Map;

/**
 * 单耗信息管理服务对象接口。
 *
 * @author 吴旭
 */
public interface PieceYardageHeaderManager extends GenericManager<PieceYardageHeaderEntity, Long> {

    /**
     * 根据给定的款号取得单耗信息
     *
     * @param criterion 款号、单耗类型等参数
     * @return
     * @throws java.lang.Exception
     */
    List<PieceYardageHeaderEntity> fetchByStyleNo(Map<String, Object> criterion) throws Exception;

    /**
     * 批量更新单耗所属目录。
     *
     * @param itemList 要更新的单耗数据列表
     * @return 影响的行数
     * @throws java.lang.Exception
     */
    Integer batchChangeCatalogue(List<PieceYardageHeaderEntity> itemList) throws Exception;

    /**
     * 更新单耗员
     *
     * @param instance 要更新的数据
     * @return 影响的行数
     * @throws java.lang.Exception
     */
    Integer updateGradedBy(PieceYardageHeaderEntity instance) throws Exception;
    
    /**
     * 取得打印格式数据
     *
     * @param headerId 单耗ID
     * @return 打印格式数据
     * @throws java.lang.Exception
     */
    Map<String, Object> fetchPrintData(Long headerId) throws Exception;
}
